use libloading::{Library, Symbol};
use std::ffi::{CStr, CString};
use std::os::raw::c_char;
use std::ptr;
use std::thread;
use tauri_utils::config::{WebviewUrl, WindowConfig};
use std::sync::{Arc, Mutex};
use std::any::Any;
use tauri::AppHandle;
use url::Url;
use tauri::Manager;
use tauri::command;
use log::{trace, debug, info, warn, error};
pub use tauri_runtime::webview::PageLoadEvent;

#[command]
pub async fn create_wry_webview(
	app: tauri::AppHandle,
	label: String,
	window_label: String,
	proxy_host: String,
	proxy_port: String,
	curl: String,
) -> Result<(),()> {
	unsafe {
		let window = app
		    .get_window(&window_label)
		    .expect("Failed to find window by label");
		// let event_loop = tao::event_loop::EventLoop::new();
		// let window = tao::window::WindowBuilder::new().build(&event_loop).unwrap();
		let proxy_config = wry::ProxyConfig::Socks5(wry::ProxyEndpoint {
			host: proxy_host,
			port: proxy_port
		});
		
		let builder = wry::WebViewBuilder::new();
		let webview = builder
		  .with_url(curl)
			.with_proxy_config(proxy_config)
			.with_bounds(wry::Rect {
			    position: tauri::LogicalPosition::new(100, 100).into(),
			    size: tauri::LogicalSize::new(960, 800).into(),
			  })
		  .build_as_child(&window)
		  .unwrap();
	}
	Ok(())
}

use tauri_plugin_share::{ShareExt, ShareRequest};
#[command]
pub async fn create_proxy_webview(
	app: tauri::AppHandle,
	label: String,
	name: String,
	proxy: String,
	curl: String,
	eval: bool,
	width: Option<f64>,
	height: Option<f64>,
) -> Result<(),()> {
	
	unsafe {
		// let mut options = WindowConfig {
		// 		label: label.to_string(),
		// 		url: WebviewUrl::App(curl.parse().unwrap()),
		// 		fullscreen: true,
		// 		..Default::default()
		// };

		println!("builder!");
		let css_code = format!(r#"
			.ztm-browser-bar {{
				width: 100%; 
				z-index:10000;
				position:relative;
			}}
			
			.multiline-ellipsis {{
				word-break: break-all;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2; 
				line-clamp: 2; 
				overflow: hidden;
				text-overflow: ellipsis;
				max-width:250px;
				max-height:53px;
			}}
			.ztm-content {{
				width: 100%; 
				height:50px;
			}}
			.ztm-link-img{{
				margin-right:7px;
				position:relative;
				top:-1px;
				border-radius:4px;
				width:20px;
				height:20px;
			}}
			.ztm-link-icon{{
				opacity: 0.5;
				position:relative;
				margin-right:5px;
				top:-1px;
			}}
			.ztm-show {{
				display:none;
				background-color: rgba(255, 255, 255, 0.7);
				box-shadow: 0 0 3px 3px rgba(0,0,0,0.1);
				backdrop-filter: blur(10px);
				border-radius: 6px 0 0 6px;
				position:fixed;
				right:0;
				top:100px;
				width: 30px;
				height:30px;
				line-height:30px;
				text-align:center;
				opacity:0.8;
				cursor:pointer;
				transition:.3s all;
				z-index: 10000;
			}}
			.ztm-show:hover{{
				opacity:1;
				background-color: #f5f5f5;
			}}
			.ztm-container {{
				background-color: rgba(255, 255, 255, 0.9);
				backdrop-filter: blur(10px);
				z-index:10000;
				position:fixed;
				left:0;
				right:0;
				top:0;
				width: 100%;  
				height:50px;
				border-bottom:1px solid #dddddd;
				line-height:50px;
				display: flex;
				align-items: center; 
				justify-content: space-between;  
			}}
							
			.ztm-left {{
				display: flex;
				gap: 10px;  
				padding:10px 10px;
			}}
							
			.ztm-container button {{
				padding:0;
				border: none;
				background-color: transparent;
				cursor: pointer;
				border-radius: 6px;
				transition: .3s all;
				width:28px;
				height:28px;
				line-height:28px;
				text-align:center;
			}}
			.ztm-container button svg {{
				margin-top:4px;
			}}
			.ztm-container button:hover {{
				background-color: #f5f5f5;
			}}
							
			.ztm-right {{
				flex: 1;  
				display: flex;
				padding:5px 0px 5px 0px;
				position:relative;
			}}
			.ztm-icon {{
				
			}}
			.ztm-right .ztm-icon {{
				position:absolute;
				z-index:2;
				left:10px;
				top:12px;
			}}
			.ztm-right input {{
				width: 100%;  
				padding:0px 10px 0px 30px;
				height:30px;
				line-height:30px;
				background-color: #f5f5f5;
				border: none;
				font-size:8pt;
				border-radius: 20px;
			}}
			.go-star-full{{
				display:none;
			}}
			.ztm-pop {{
				position: fixed;
				background-color: white;
				box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
				padding: 0px;
				border-radius: 6px;
				right:0px;
				top:50px;
				overflow:hidden;
				font-family: "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
			}}
			.ztm-pop ul {{
				list-style: none;
				margin: 0;
				padding: 0;
			}}
			.ztm-pop ul li {{
				display:flex;
				padding: 8px 16px;
				cursor: pointer;
				background-color: #ffffff;
				transition: .3s all;
				font-size:12px;
				line-height:16px;
			}}
			.ztm-pop ul li:hover {{
				background-color: #f0f0f0;
			}}
			@media (prefers-color-scheme: dark) {{
				
				.ztm-show {{
					background-color: #2B2B29;
					box-shadow: 0 0 3px 3px rgba(0,0,0,0.8);
				}}
				.ztm-show:hover{{
					opacity:1;
					background-color: #444444;
				}}
				.ztm-container {{
					background-color: #18181A;
					color: #eeeeee;
				}}
				.ztm-container {{
					border-bottom:1px solid #666666;
				}}
				.ztm-right input, .ztm-left button:hover {{
					background-color: #444444;
					color: #eeeeee !important;
				}}
				.ztm-icon{{
					fill: #eeeeee;
				}}
				.ztm-pop {{
					background-color: #2B2B29;
				}}
				.ztm-pop ul li {{
					background-color: #2B2B29;
					color: #eeeeee !important;
				}}
				.ztm-pop ul li:hover {{
					background-color: #444444;
				}}
				
			}}
		"#);
		let html_code = format!(r#" 
			<div class="ztm-content"></div>
			<div class="ztm-container">
				<div class="ztm-left">
					<button class="go-back">
						<svg t="1732001278031" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1093" width="18" height="18"><path d="M932.039565 483.875452 163.745365 483.875452l350.590843-311.627437c11.008728-9.784854 12.000312-26.6428 2.215458-37.651528-9.7869-11.005658-26.63973-11.999288-37.652552-2.214435L74.241888 492.064972c-5.693676 5.062296-8.950859 12.31549-8.950859 19.934005s3.257184 14.871709 8.950859 19.934005l404.65825 359.684966c5.080715 4.51585 11.405771 6.735401 17.708314 6.735401 7.352455 0 14.675234-3.022847 19.944238-8.950859 9.784854-11.008728 8.79327-27.865651-2.215458-37.652552L160.472831 537.214265l771.566734 0c14.729469 0 26.669406-11.94096 26.669406-26.669406C958.708971 495.815389 946.769035 483.875452 932.039565 483.875452z" p-id="1094"></path></svg>
					</button>
					<button class="go-next">
						<svg t="1732001333218" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1254" width="18" height="18"><path d="M572.59 881.41c-7.68 0-15.35-2.93-21.21-8.79-11.72-11.72-11.72-30.7 0-42.42l339.41-339.41c11.72-11.72 30.7-11.72 42.42 0 11.72 11.71 11.72 30.71 0 42.42L593.8 872.62a29.91 29.91 0 0 1-21.21 8.79z" p-id="1255"></path><path d="M912 542c-7.68 0-15.35-2.93-21.21-8.79L551.38 193.8c-11.72-11.71-11.72-30.71 0-42.42 11.72-11.72 30.7-11.72 42.42 0l339.41 339.41c11.72 11.71 11.72 30.71 0 42.42A29.893 29.893 0 0 1 912 542z" p-id="1256"></path><path d="M912 542H112c-16.57 0-30-13.43-30-30s13.43-30 30-30h800c16.56 0 30 13.43 30 30s-13.44 30-30 30z" p-id="1257"></path></svg>
					</button>
					<button class="go-reload">
						<svg t="1732001357036" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1417" width="18" height="18"><path d="M927.999436 531.028522a31.998984 31.998984 0 0 0-31.998984 31.998984c0 51.852948-10.147341 102.138098-30.163865 149.461048a385.47252 385.47252 0 0 1-204.377345 204.377345c-47.32295 20.016524-97.6081 30.163865-149.461048 30.163865s-102.138098-10.147341-149.461048-30.163865a385.47252 385.47252 0 0 1-204.377345-204.377345c-20.016524-47.32295-30.163865-97.6081-30.163865-149.461048s10.147341-102.138098 30.163865-149.461048a385.47252 385.47252 0 0 1 204.377345-204.377345c47.32295-20.016524 97.6081-30.163865 149.461048-30.163865a387.379888 387.379888 0 0 1 59.193424 4.533611l-56.538282 22.035878A31.998984 31.998984 0 1 0 537.892156 265.232491l137.041483-53.402685a31.998984 31.998984 0 0 0 18.195855-41.434674L639.723197 33.357261a31.998984 31.998984 0 1 0-59.630529 23.23882l26.695923 68.502679a449.969005 449.969005 0 0 0-94.786785-10.060642c-60.465003 0-119.138236 11.8488-174.390489 35.217667a449.214005 449.214005 0 0 0-238.388457 238.388457c-23.361643 55.252253-35.22128 113.925486-35.22128 174.390489s11.8488 119.138236 35.217668 174.390489a449.214005 449.214005 0 0 0 238.388457 238.388457c55.252253 23.368867 113.925486 35.217667 174.390489 35.217667s119.138236-11.8488 174.390489-35.217667A449.210393 449.210393 0 0 0 924.784365 737.42522c23.368867-55.270316 35.217667-113.925486 35.217667-174.390489a31.998984 31.998984 0 0 0-32.002596-32.006209z" p-id="1418"></path></svg>
					</button>
				</div>
				<div class="ztm-right">
					<svg t="1732001390375" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1578" width="14" height="14"><path d="M963.584 934.912L711.68 683.008C772.096 615.424 808.96 527.36 808.96 430.08 808.96 221.184 638.976 51.2 430.08 51.2S51.2 221.184 51.2 430.08s169.984 378.88 378.88 378.88c97.28 0 185.344-36.864 252.928-97.28l251.904 251.904c4.096 4.096 9.216 6.144 14.336 6.144s10.24-2.048 14.336-6.144c8.192-8.192 8.192-20.48 0-28.672zM430.08 768C243.712 768 92.16 616.448 92.16 430.08S243.712 92.16 430.08 92.16s337.92 151.552 337.92 337.92-151.552 337.92-337.92 337.92z" p-id="1579"></path></svg>
					<input type="text" placeholder="" value="${{location.href}}" />
				</div>
				<div class="ztm-left">
					<button class="go-star-empty">
						<svg t="1732170774781" class="ztm-icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1294" width="18" height="18"><path d="M778.47986 1002.496c-12.288 0-24.576-3.072-37.888-10.24L533.74386 883.712c-5.12-3.072-12.288-5.12-20.48-5.12-7.168 0-15.36 2.048-20.48 4.096L286.95986 992.256c-12.288 7.168-24.576 10.24-38.912 10.24-24.576 0-48.128-11.264-64.512-29.696-16.384-18.432-22.528-43.008-18.432-67.584l39.936-229.376c2.048-14.336-3.072-28.672-13.312-38.912L25.83986 476.16C2.28786 453.632-5.90414 420.864 4.33586 390.144c10.24-30.72 35.84-52.224 67.584-57.344l229.376-33.792c14.336-2.048 27.648-11.264 33.792-23.552l102.4-208.896c14.336-28.672 43.008-46.08 74.752-46.08 31.744 0 60.416 17.408 74.752 46.08l102.4 208.896c7.168 13.312 19.456 21.504 33.792 23.552L952.55986 332.8c31.744 5.12 57.344 26.624 67.584 56.32 10.24 30.72 2.048 63.488-20.48 86.016L834.79986 636.928c-11.264 10.24-15.36 24.576-13.312 38.912l38.912 228.352c4.096 24.576-2.048 49.152-18.432 67.584-15.36 19.456-38.912 30.72-63.488 30.72z m-13.312-62.464c5.12 2.048 9.216 3.072 12.288 3.072 7.168 0 14.336-3.072 19.456-9.216 5.12-6.144 6.144-14.336 5.12-19.456L763.11986 686.08c-6.144-32.768 5.12-68.608 29.696-91.136l164.864-162.816c6.144-6.144 8.192-15.36 6.144-25.6-3.072-9.216-10.24-15.36-20.48-16.384l-229.376-33.792c-33.792-5.12-63.488-25.6-77.824-56.32L533.74386 92.16c-4.096-9.216-12.288-13.312-21.504-13.312-9.216 0-17.408 5.12-22.528 14.336l-102.4 206.848c-14.336 29.696-44.032 51.2-77.824 56.32L80.11086 390.144c-9.216 2.048-16.384 8.192-19.456 16.384v1.024c-3.072 9.216-1.024 17.408 6.144 24.576l165.888 162.816c24.576 23.552 34.816 57.344 29.696 91.136L223.47086 914.432c-1.024 5.12-1.024 12.288 5.12 18.432 5.12 6.144 12.288 9.216 19.456 9.216 5.12 0 8.192-1.024 11.264-2.048l206.848-108.544c13.312-8.192 29.696-12.288 47.104-12.288 15.36 0 31.744 4.096 47.104 12.288l204.8 108.544z" p-id="1295"></path></svg>
					</button>
					<button class="go-star-full">
						<svg style="fill: orange;margin-top:3px" t="1732179247794" class="ztm-icon" viewBox="0 0 1426 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1440" width="22" height="22"><path d="M985.6 1022.976c-14.848 0-31.744-4.096-47.104-12.288L716.288 899.584l-223.744 111.104c-14.336 7.68-30.208 11.776-47.104 11.776-21.504 0-42.496-6.656-59.392-19.456-31.232-23.552-47.104-64-39.936-101.376l45.568-237.056-175.616-163.328c-27.136-27.648-37.376-67.072-27.136-104.448l0.512-1.024c12.8-38.4 44.544-65.024 82.944-70.144l243.712-44.544L625.152 58.88C642.56 23.552 678.4 1.024 716.288 1.024c39.424 0 76.288 23.552 91.648 58.368l109.056 221.696 243.712 42.496c38.4 5.632 70.656 33.28 81.408 71.168 12.288 36.864 2.048 77.312-25.6 104.96l-0.512 0.512-174.592 164.864 44.032 237.568c7.168 37.888-8.192 76.288-39.424 100.352-17.92 12.8-38.912 19.968-60.416 19.968z" p-id="1441"></path></svg>
					</button>
					<button class="go-hide">
						<svg style="margin-top:3px" t="1732161039831" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1320" width="22" height="22"><path d="M332.8 729.6l34.133333-34.133333c42.666667 12.8 93.866667 21.333333 145.066667 21.333333 162.133333 0 285.866667-68.266667 375.466667-213.333333-46.933333-72.533333-102.4-128-166.4-162.133334l29.866666-29.866666c72.533333 42.666667 132.266667 106.666667 183.466667 192-98.133333 170.666667-243.2 256-426.666667 256-59.733333 4.266667-119.466667-8.533333-174.933333-29.866667z m-115.2-64c-51.2-38.4-93.866667-93.866667-132.266667-157.866667 98.133333-170.666667 243.2-256 426.666667-256 38.4 0 76.8 4.266667 110.933333 12.8l-34.133333 34.133334c-25.6-4.266667-46.933333-4.266667-76.8-4.266667-162.133333 0-285.866667 68.266667-375.466667 213.333333 34.133333 51.2 72.533333 93.866667 115.2 128l-34.133333 29.866667z m230.4-46.933333l29.866667-29.866667c8.533333 4.266667 21.333333 4.266667 29.866666 4.266667 46.933333 0 85.333333-38.4 85.333334-85.333334 0-12.8 0-21.333333-4.266667-29.866666l29.866667-29.866667c12.8 17.066667 17.066667 38.4 17.066666 64 0 72.533333-55.466667 128-128 128-17.066667-4.266667-38.4-12.8-59.733333-21.333333zM384 499.2c4.266667-68.266667 55.466667-119.466667 123.733333-123.733333 0 4.266667-123.733333 123.733333-123.733333 123.733333zM733.866667 213.333333l29.866666 29.866667-512 512-34.133333-29.866667L733.866667 213.333333z" p-id="1321"></path></svg>
					</button>
					<button class="go-more">
						<svg t="1732180054163" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1500" width="18" height="18"><path d="M426.666667 810.666667a85.333333 85.333333 0 1 1 170.666666 0 85.333333 85.333333 0 0 1-170.666666 0z m0-298.666667a85.333333 85.333333 0 1 1 170.666666 0 85.333333 85.333333 0 0 1-170.666666 0z m0-298.666667a85.333333 85.333333 0 1 1 170.666666 0 85.333333 85.333333 0 0 1-170.666666 0z" p-id="1501"></path></svg>
					</button>
				</div>
			</div>
			<div class="ztm-pop" style="display:none">
				<ul><li class="add-shortcut"><svg t="1732522336536" style="margin-right:10px" class="ztm-icon ztm-link-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1414" width="18" height="18"><path d="M512 64h-0.448-0.512-1.6-1.472-0.512H506.88h-0.448-1.024-0.512-0.512-0.448H503.36 502.4h-0.96-0.512-0.448H499.904h-0.448-0.448H498.432h-0.448-1.024-0.448-0.96-1.472H489.344h-0.448H480.512 475.776c-0.128 0-0.32 0-0.448 0.064h-0.384-0.128c-0.32 0-0.64 0.064-0.896 0.064h-0.384-0.064c-0.192 0-0.384 0-0.576 0.064h-0.384-0.064c-0.192 0-0.448 0-0.64 0.064h-0.256-0.128c-0.32 0-0.64 0.064-0.96 0.064h-0.384-0.064c-0.192 0-0.384 0.064-0.64 0.064h-0.32-0.064c-0.32 0-0.64 0.064-0.96 0.064h-0.384-0.064c-0.192 0-0.384 0.064-0.64 0.064h-0.32c-0.32 0-0.704 0.064-1.024 0.064h-0.064c-0.32 0-0.704 0.064-1.024 0.128-0.448 0-0.96 0.064-1.408 0.128-0.32 0-0.704 0.064-1.024 0.064-27.264 4.992-52.288 10.048-76.48 17.216-16.896 4.992-26.56 22.72-21.568 39.616 4.096 13.952 16.896 22.976 30.72 22.976 2.944 0 6.016-0.384 9.024-1.28C438.72 133.184 475.136 128 512 128c17.664 0 32-14.336 32-32s-14.336-32-32-32z m-225.024 65.984c-5.888 0-11.904 1.664-17.216 5.056-2.752 1.792-5.504 3.648-8.192 5.44-3.712 2.56-7.424 5.12-11.008 7.744-1.728 1.152-3.328 2.368-4.992 3.584-0.256 0.192-0.512 0.384-0.832 0.64-0.192 0.128-0.512 0.32-0.768 0.512-1.408 1.152-2.816 2.176-4.288 3.264-0.192 0.192-0.32 0.32-0.512 0.448-0.64 0.448-1.28 0.96-1.856 1.408-0.32 0.256-0.512 0.448-0.832 0.64l-0.768 0.576-0.064 0.064c-0.256 0.192-0.512 0.384-0.704 0.576 0 0-0.064 0-0.064 0.064l-0.768 0.576c-0.256 0.192-0.512 0.448-0.768 0.64l-0.064 0.064c-0.256 0.128-0.448 0.32-0.704 0.512l-0.064 0.064c-0.256 0.192-0.512 0.384-0.704 0.576l-0.064 0.064-0.768 0.576h-0.064c-0.256 0.256-0.448 0.448-0.704 0.64l-0.064 0.064c-0.256 0.192-0.448 0.384-0.704 0.576 0 0-0.064 0-0.064 0.064-0.064 0.064-0.128 0.128-0.256 0.192h-0.064l-0.384 0.384c-0.064 0-0.064 0.064-0.128 0.064l-0.192 0.192s0 0.064-0.064 0.064c-0.128 0.064-0.256 0.192-0.384 0.256 0 0-0.064 0.064-0.128 0.064-0.064 0.128-0.128 0.192-0.192 0.192s-0.064 0.128-0.128 0.128c-0.128 0.064-0.192 0.192-0.32 0.256-0.064 0-0.064 0.064-0.128 0.128l-0.192 0.192-0.128 0.128c-0.128 0-0.192 0.128-0.32 0.192l-0.128 0.128c-0.064 0.064-0.128 0.064-0.192 0.128l-0.128 0.128c-0.128 0.128-0.256 0.192-0.32 0.256l-0.128 0.128c-0.064 0-0.128 0.064-0.192 0.128-0.064 0-0.064 0.064-0.128 0.128-0.128 0.128-0.192 0.192-0.32 0.256l-0.128 0.128c-0.064 0.064-0.128 0.128-0.192 0.128 0 0.064-0.064 0.064-0.128 0.128-0.128 0.128-0.256 0.192-0.32 0.256l-0.128 0.128-0.192 0.192c-0.064 0-0.128 0.064-0.192 0.128l-0.192 0.192c-0.064 0-0.128 0.064-0.192 0.128-0.064 0-0.128 0.064-0.192 0.128l-0.192 0.192-0.192 0.192-0.192 0.192a0.138 0.138 0 0 0-0.128 0.128c-0.128 0.064-0.192 0.064-0.256 0.128l-0.192 0.192c-0.064 0.064-0.128 0.128-0.192 0.128l-0.192 0.192c-0.064 0.064-0.128 0.064-0.128 0.128-0.064 0.064-0.128 0.128-0.256 0.192l-0.192 0.192c-0.064 0.064-0.128 0.064-0.192 0.128-0.064 0-0.128 0.064-0.192 0.128l-0.128 0.128c-0.064 0.128-0.192 0.192-0.256 0.256s-0.128 0.064-0.128 0.128l-0.192 0.192c-0.064 0-0.064 0.064-0.128 0.064-0.128 0.128-0.256 0.192-0.32 0.256 0 0.064-0.064 0.064-0.128 0.128-0.128 0.064-0.192 0.128-0.256 0.192 0 0-0.064 0.064-0.128 0.064a0.5 0.5 0 0 1-0.256 0.256l-0.128 0.128-0.192 0.192-0.128 0.128c-0.128 0.064-0.192 0.192-0.32 0.256-0.064 0-0.064 0.064-0.128 0.064-0.064 0.128-0.128 0.192-0.192 0.256-0.064 0-0.064 0.064-0.128 0.064-0.064 0.128-0.192 0.192-0.32 0.256l-0.064 0.064-0.256 0.256s-0.064 0.064-0.064 0.128a1.339 1.339 0 0 0-0.384 0.256l-0.064 0.064a0.5 0.5 0 0 0-0.256 0.256s-0.064 0-0.064 0.064c-0.128 0.064-0.256 0.128-0.32 0.256l-0.064 0.064c-0.128 0.064-0.192 0.192-0.32 0.256l-0.064 0.064c-0.128 0.128-0.256 0.192-0.32 0.32h-0.064c-0.064 0.128-0.192 0.192-0.256 0.32 0 0-0.064 0-0.064 0.064-0.128 0.064-0.256 0.128-0.384 0.256 0 0-0.064 0-0.064 0.064-0.064 0.064-0.192 0.128-0.256 0.256 0 0-0.064 0-0.064 0.064a0.771 0.771 0 0 0-0.32 0.32h-0.064c-0.128 0.128-0.192 0.192-0.32 0.256l-0.064 0.064c-0.128 0.128-0.256 0.192-0.32 0.32-0.192 0.128-0.256 0.192-0.384 0.32l-0.064 0.064c-0.192 0.192-0.448 0.384-0.64 0.64h-0.064c-0.256 0.192-0.512 0.448-0.704 0.64-0.256 0.256-0.512 0.448-0.768 0.704-0.192 0.192-0.448 0.448-0.704 0.64-0.256 0.192-0.512 0.448-0.704 0.64-0.32 0.256-0.512 0.512-0.768 0.704a450.229 450.229 0 0 0-34.368 35.52c-11.584 13.376-10.176 33.6 3.2 45.184 6.08 5.248 13.504 7.808 20.928 7.808 8.96 0 17.856-3.776 24.192-11.072 24-27.712 51.84-51.904 82.688-71.744 14.848-9.536 19.136-29.376 9.536-44.224-6.08-9.472-16.384-14.656-26.944-14.656zM133.44 307.264c-12.096 0-23.744 6.912-29.12 18.688-17.472 38.208-29.696 79.36-35.84 122.432-2.496 17.536 9.664 33.728 27.2 36.224 1.536 0.192 3.008 0.32 4.544 0.32 15.68 0 29.376-11.52 31.68-27.52 5.12-36.224 15.424-71.552 30.656-104.832 7.36-16.064 0.256-35.072-15.808-42.432-4.352-1.92-8.832-2.88-13.312-2.88z m-33.216 232.192c-1.472 0-3.008 0.064-4.544 0.32-17.472 2.496-29.632 18.752-27.136 36.224a385.138 385.138 0 0 0 2.88 17.536c0.064 0.32 0.128 0.64 0.192 1.024l0.192 0.96v0.064c0 0.192 0.064 0.32 0.064 0.448v0.064c0 0.128 0.064 0.32 0.064 0.448v0.064c0 0.128 0.064 0.32 0.064 0.448v0.064c0 0.128 0.064 0.32 0.064 0.448v0.064c0 0.128 0.064 0.256 0.064 0.448v0.064c0.192 0.256 0.256 0.512 0.32 0.832v0.064c0 0.192 0.064 0.32 0.064 0.448 0 0.192 0 0.32 0.064 0.448v0.128c0 0.128 0.064 0.256 0.064 0.384v0.128c0 0.128 0.064 0.256 0.064 0.384v0.128c0 0.128 0 0.256 0.064 0.384v0.128c0 0.128 0 0.256 0.064 0.384v0.128c0 0.128 0 0.256 0.064 0.384v0.128c0 0.128 0.064 0.256 0.064 0.384v0.128c0 0.128 0 0.256 0.064 0.32v0.192c0 0.128 0 0.192 0.064 0.32v0.192c0 0.128 0.064 0.256 0.064 0.32s0 0.128 0.064 0.192v0.448c0 0.128 0.064 0.256 0.064 0.384v0.192c0 0.064 0 0.192 0.064 0.256s0 0.128 0 0.192c0 0.128 0.064 0.256 0.064 0.384v0.192c0 0.064 0 0.192 0.064 0.256v0.192c0 0.128 0.064 0.192 0.064 0.32s0.064 0.192 0.064 0.256 0 0.192 0.064 0.256v0.192c0 0.128 0 0.192 0.064 0.256 0 0.128 0 0.256 0.064 0.32s0 0.192 0.064 0.256v0.192c0 0.064 0 0.192 0.064 0.256s0 0.192 0.064 0.32c0 0.064 0 0.192 0.064 0.256v0.192c0 0.064 0 0.128 0.064 0.192v0.256c0 0.128 0.064 0.256 0.064 0.384 0 0.064 0 0.128 0.064 0.192v0.192c0 0.128 0 0.192 0.064 0.256v0.192c0 0.128 0.064 0.256 0.064 0.448v0.128c0 0.064 0 0.192 0.064 0.256v0.192c0 0.128 0.064 0.256 0.064 0.384 0 0.064 0 0.128 0.064 0.192v0.256c0 0.064 0 0.128 0.064 0.192 0 0.128 0.064 0.32 0.064 0.448v0.128c0 0.128 0 0.192 0.064 0.256v0.192c0 0.192 0.064 0.384 0.128 0.576 0 0.128 0.064 0.192 0.064 0.256v0.128c0.064 0.32 0.128 0.64 0.192 0.896v0.192c0 0.064 0 0.128 0.064 0.256v0.128c0 0.128 0.064 0.32 0.128 0.448v0.192c0 0.064 0 0.128 0.064 0.256v0.128c0 0.128 0.064 0.32 0.064 0.448v0.192c1.344-0.384 1.344-0.32 1.344-0.192 0 0 0 0.064 0.064 0.128 0.064 0.32 0.128 0.576 0.192 0.896v0.128c0.064 0.256 0.128 0.576 0.192 0.896v0.128c0 0.064 0.064 0.128 0.064 0.256v0.064c0 0.192 0.064 0.384 0.128 0.576v0.064c0 0.128 0.064 0.192 0.064 0.32v0.064c0.064 0.192 0.064 0.384 0.128 0.576v0.064c0 0.128 0.064 0.192 0.064 0.32v0.064c0.32 0.064 0.384 0.32 0.384 0.512 0 0.128 0.064 0.192 0.064 0.32v0.064c0.128 0.32 0.256 0.64 0.32 0.96v0.064c0.064 0.256 0.192 0.576 0.256 0.896v0.064c0 0.128 0.064 0.192 0.064 0.32v0.064c0.064 0.192 0.128 0.384 0.128 0.576v0.064c0 0.128 0 0.192 0.064 0.32v0.064c0.064 0.32 0.128 0.64 0.256 0.96v0.064c0.064 0.32 0.192 0.64 0.256 0.896v0.128c0.064 0.32 0.128 0.64 0.256 0.96v0.064c0.064 0.32 0.128 0.64 0.256 0.96 0 0.128 0.064 0.256 0.064 0.32v0.064c0.256 0.192 0.384 0.512 0.448 0.832v0.064c0.128 0.32 0.192 0.576 0.32 0.896v0.064c0.064 0.32 0.192 0.64 0.256 0.96v0.064c0.064 0.32 0.192 0.64 0.256 0.96 0.128 0.448 0.256 0.832 0.384 1.28v0.064c0.064 0.32 0.192 0.64 0.256 0.96v0.064c0.064 0.32 0.192 0.64 0.256 0.96v0.064c0.064 0.32 0.192 0.64 0.256 0.96 0.064 0.384 0.192 0.704 0.256 1.024 0 0.128 0.064 0.256 0.064 0.32 0.32 0.256 0.384 0.576 0.512 0.896v0.064c0.064 0.256 0.192 0.64 0.256 0.96 0.064 0.32 0.192 0.64 0.256 0.96v0.064c0.128 0.32 0.192 0.64 0.32 0.96v0.064c0 0.064 0.064 0.192 0.064 0.32 0.128 0.32 0.192 0.64 0.32 1.024 0.064 0.32 0.192 0.64 0.32 0.96V648c0.128 0.32 0.192 0.64 0.32 0.96 0.128 0.32 0.192 0.64 0.32 1.024 0.128 0.448 0.256 0.896 0.448 1.344 0.192 0.64 0.384 1.28 0.64 1.92 0.32 1.152 0.704 2.176 1.088 3.264 0.064 0.32 0.192 0.64 0.32 1.024 0.128 0.32 0.192 0.64 0.32 0.96a439.814 439.814 0 0 0 16.128 40.256c5.376 11.712 16.96 18.56 29.056 18.56 4.48 0 9.024-0.96 13.312-2.944 16.064-7.36 23.104-26.304 15.744-42.368-15.232-33.344-25.6-68.544-30.784-104.832-2.176-16.192-15.808-27.712-31.552-27.712zM197.76 752.64a32.037 32.037 0 0 0-20.992 7.808c-13.312 11.648-14.72 31.808-3.2 45.12v0.064a0.771 0.771 0 0 0 0.32 0.32v0.064c0.064 0.128 0.128 0.192 0.256 0.32v0.064c0.064 0.128 0.192 0.256 0.32 0.384 0.064 0.128 0.192 0.192 0.32 0.32v0.064c0.064 0.128 0.192 0.256 0.32 0.384 0.064 0.128 0.192 0.192 0.32 0.32v0.064c0.192 0.256 0.384 0.448 0.64 0.704v0.064c0.192 0.256 0.448 0.512 0.64 0.704v0.064c0.192 0.256 0.448 0.448 0.64 0.704 0 0 0 0.064 0.064 0.064 0.192 0.256 0.384 0.448 0.64 0.704v0.064c0.192 0.256 0.384 0.448 0.64 0.704l0.064 0.064c0.192 0.256 0.384 0.448 0.64 0.704v0.064c0.192 0.192 0.448 0.448 0.64 0.704 0.192 0.256 0.448 0.512 0.64 0.768s0.384 0.512 0.64 0.704v0.064c0.192 0.256 0.448 0.512 0.64 0.704v0.064c0.192 0.192 0.448 0.448 0.64 0.704 0.192 0.256 0.448 0.512 0.64 0.768s0.448 0.512 0.64 0.768 0.448 0.448 0.64 0.704a448.305 448.305 0 0 0 85.12 70.912c5.312 3.456 11.328 5.056 17.28 5.056 10.56 0 20.864-5.184 26.944-14.656 9.536-14.848 5.248-34.688-9.6-44.224-30.784-19.84-58.688-43.904-82.688-71.616-5.952-7.68-14.848-11.328-23.808-11.328z m197.312 126.656c-13.824 0.064-26.624 9.152-30.72 23.04-4.928 16.96 4.8 34.688 21.696 39.68l1.344 0.384c0.128 0 0.192 0.064 0.32 0.064l0.064 0.064c0.32 0.064 0.576 0.128 0.896 0.256h0.064c0.064 0.064 0.192 0.064 0.256 0.128 0.192 0 0.32 0.064 0.576 0.128 0 0 0.064 0.064 0.128 0.064s0.128 0 0.256 0.064c0.064 0 0.064 0 0.128 0.064 0.128 0 0.256 0.064 0.384 0.064 0.064 0.064 0.128 0.064 0.192 0.064s0.128 0.064 0.192 0.064 0.128 0.064 0.192 0.064 0.128 0.064 0.192 0.064c0.128 0 0.256 0.064 0.384 0.128h0.192c0.064 0.064 0.128 0.064 0.192 0.064 0.064 0.064 0.128 0.064 0.192 0.064 0.064 0.064 0.192 0.064 0.256 0.064 0.064 0.064 0.128 0.064 0.192 0.064 0.064 0.064 0.192 0.064 0.256 0.128h0.192c0.064 0.064 0.128 0.064 0.256 0.128h0.128c0.128 0.064 0.256 0.064 0.384 0.128 0.064 0 0.064 0 0.128 0.064 0.128 0 0.192 0 0.32 0.064h0.128c0.128 0.064 0.256 0.128 0.384 0.128h0.064c0.128 0.064 0.256 0.064 0.384 0.128h0.128c0.128 0.064 0.256 0.128 0.384 0.128 0.128 0.064 0.256 0.128 0.448 0.128 0 0 0.064 0 0.064 0.064 0.128 0 0.256 0.064 0.384 0.064h0.064c0.128 0.064 0.256 0.128 0.448 0.128 0.128 0.064 0.256 0.128 0.384 0.128h0.064c0.32 0.128 0.64 0.192 0.896 0.256h0.064c0.128 0.064 0.256 0.128 0.448 0.128 0.32 0.128 0.64 0.192 0.96 0.256 0.256 0.064 0.576 0.192 0.896 0.256 25.344 6.464 51.456 10.752 78.272 12.608 0.32 0.064 0.64 0.064 0.96 0.128 0.512 0 1.024 0.064 1.472 0.064 0.32 0.064 0.64 0.064 1.024 0.064 0.512 0.064 1.024 0.064 1.472 0.128 0.32 0 0.64 0 0.96 0.064 0.32 0 0.64 0 1.024 0.064h0.448c0.32 0 0.64 0.064 1.024 0.064 0.32 0 0.64 0.064 1.024 0.064h0.448c0.192 0 0.32 0 0.512 0.064h0.512c0.32 0 0.64 0 0.96 0.064h1.088c0.128 0.064 0.256 0.064 0.448 0.064h1.024c0.32 0.064 0.64 0.064 0.96 0.064h0.512c0.128 0 0.32 0.064 0.448 0.064h1.6c0.128 0.064 0.256 0.064 0.384 0.064h1.472c0.128 0 0.256 0.064 0.448 0.064h2.368c0 0.064 0.064 0.064 0.128 0.064h3.52c1.152-0.064 1.28 0 1.408 0H512c17.664 0 32-14.336 32-32s-14.336-32-32-32c-36.736 0-73.024-5.184-107.904-15.36-3.008-0.896-6.016-1.344-9.024-1.344zM737.28 829.76c-5.952 0-11.968 1.664-17.344 5.12-30.784 19.968-64.256 35.264-99.328 45.568-16.96 4.992-26.624 22.72-21.696 39.744 4.096 13.952 16.896 22.912 30.656 22.912 3.008 0 6.016-0.384 8.96-1.28a445.651 445.651 0 0 0 116.16-53.312c14.72-9.536 19.008-29.312 9.408-44.096-6.016-9.472-16.32-14.656-26.816-14.656z m153.472-177.472c-12.096 0-23.744 6.976-29.12 18.752-15.168 33.344-35.072 64.256-59.072 92.032-11.584 13.376-10.112 33.6 3.264 45.184 6.08 5.184 13.504 7.744 20.864 7.744 9.024 0 17.92-3.776 24.256-11.072 0.128-0.128 0.192-0.256 0.32-0.384s0.256-0.256 0.32-0.384c0.128-0.128 0.256-0.256 0.32-0.384h0.064c0.064-0.128 0.192-0.256 0.256-0.32l0.064-0.064c0.128-0.128 0.192-0.256 0.32-0.384l0.32-0.32v-0.064c0.128-0.128 0.256-0.256 0.32-0.384h0.064c0.064-0.128 0.128-0.256 0.256-0.32 0-0.064 0.064-0.064 0.064-0.128 0.064-0.064 0.192-0.192 0.256-0.32 0.064 0 0.064 0 0.064-0.064l0.256-0.256c0-0.064 0.064-0.064 0.064-0.128 0.128-0.064 0.192-0.192 0.32-0.32v-0.064c0.128-0.064 0.192-0.192 0.256-0.256s0.064-0.128 0.128-0.128c0.064-0.128 0.192-0.192 0.256-0.32l0.064-0.064c0.064-0.128 0.128-0.192 0.192-0.256s0.064-0.128 0.128-0.192l0.192-0.192c0.064-0.064 0.128-0.128 0.128-0.192 0.064-0.064 0.128-0.128 0.192-0.256a0.138 0.138 0 0 0 0.128-0.128l0.192-0.192 0.192-0.192c0.064-0.128 0.128-0.192 0.192-0.256 0-0.064 0.064-0.064 0.128-0.128s0.064-0.128 0.128-0.192c0.064-0.128 0.128-0.192 0.192-0.256l0.192-0.192c0.064-0.064 0.064-0.128 0.128-0.192l0.128-0.128c0.064-0.128 0.128-0.192 0.192-0.256l0.192-0.192c0.064-0.064 0.128-0.128 0.128-0.192l0.128-0.128c0.128-0.128 0.192-0.256 0.32-0.384 0 0 0.064-0.064 0.064-0.128l0.192-0.192 0.064-0.064c0.192-0.256 0.384-0.512 0.576-0.704 0-0.064 0.064-0.064 0.064-0.128 0.192-0.256 0.384-0.448 0.576-0.704 0.064 0 0.064-0.064 0.064-0.064 0.192-0.256 0.448-0.512 0.64-0.768 0.448-0.576 0.832-1.088 1.28-1.536 10.368-12.992 19.968-26.496 28.928-40.576 0.192-0.32 0.384-0.576 0.576-0.896 0.192-0.32 0.32-0.576 0.512-0.832 0 0 0-0.064 0.064-0.064 0.128-0.256 0.32-0.576 0.448-0.832 0.064 0 0.064-0.064 0.064-0.064 0.064-0.064 0.128-0.192 0.192-0.256v-0.064c0.128-0.128 0.192-0.32 0.32-0.448 0-0.064 0-0.064 0.064-0.128s0.064-0.128 0.128-0.256c0 0 0.064 0 0.064-0.064 0.064-0.128 0.192-0.32 0.256-0.448 0.064 0 0.064-0.064 0.064-0.064 0.064-0.128 0.128-0.192 0.128-0.256 0.064-0.064 0.064-0.128 0.128-0.128l0.192-0.384c0.064-0.064 0.064-0.128 0.128-0.128 0-0.064 0.064-0.192 0.128-0.256 0-0.064 0.064-0.064 0.064-0.128 0.064-0.128 0.192-0.256 0.256-0.384 0-0.064 0.064-0.064 0.064-0.128 0.064-0.064 0.064-0.128 0.128-0.192s0.064-0.128 0.128-0.192c0.064-0.128 0.128-0.192 0.192-0.32 0-0.064 0.064-0.128 0.128-0.192 0-0.064 0.064-0.128 0.064-0.192 0.064-0.064 0.128-0.128 0.128-0.192 0.064-0.128 0.128-0.192 0.192-0.256s0.064-0.192 0.128-0.256 0.064-0.128 0.128-0.192c0-0.064 0.064-0.128 0.128-0.192 0-0.064 0.064-0.128 0.064-0.192 0.064-0.128 0.128-0.192 0.192-0.32l0.128-0.128c0.064-0.128 0.064-0.192 0.128-0.256s0.064-0.128 0.128-0.128l0.192-0.384s0.064-0.064 0.064-0.128c0.064-0.064 0.128-0.192 0.192-0.256 0-0.064 0-0.064 0.064-0.128l0.192-0.384c0.064 0 0.064-0.064 0.064-0.128 0.064-0.064 0.128-0.128 0.192-0.256 0 0 0.064-0.064 0.064-0.128l0.192-0.384c0.064 0 0.064-0.064 0.064-0.064 0.064-0.128 0.128-0.192 0.192-0.32 0 0 0.064-0.064 0.064-0.128 0.064-0.128 0.128-0.256 0.256-0.384v-0.064c0.064-0.064 0.128-0.192 0.192-0.32 0.064 0 0.064-0.064 0.064-0.064 0.064-0.128 0.192-0.256 0.256-0.384v-0.064c0.064-0.128 0.128-0.256 0.256-0.384v-0.064c0.192-0.256 0.32-0.576 0.512-0.832v-0.064c0.192-0.256 0.32-0.576 0.512-0.832v-0.064c0.192-0.256 0.32-0.576 0.512-0.832 0.192-0.32 0.32-0.576 0.512-0.896 0.192-0.32 0.32-0.576 0.512-0.896 6.656-11.648 12.672-23.552 18.304-35.776 7.296-16.064 0.192-35.072-15.872-42.368-4.8-1.28-9.344-2.24-13.76-2.24z m33.024-232.192c-1.472 0-3.072 0.128-4.544 0.32-17.472 2.496-29.632 18.752-27.136 36.224 2.56 18.24 3.904 36.8 3.904 55.36 0 18.176-1.28 36.416-3.84 54.208-2.432 17.472 9.728 33.664 27.264 36.16 1.472 0.192 3.008 0.32 4.48 0.32 15.616 0 29.312-11.52 31.616-27.392 0.512-3.328 0.96-6.656 1.344-10.048v-0.064c0-0.064 0-0.192 0.064-0.32 0-0.192 0-0.384 0.064-0.576v-0.064c0-0.064 0-0.192 0.064-0.256v-0.128-0.256c0-0.128 0.064-0.256 0.064-0.384v-0.192c0-0.064 0.064-0.128 0.064-0.192v-0.192c0-0.064 0-0.192 0.064-0.256v-0.128c0-0.128 0-0.256 0.064-0.384v-0.128-0.32s0-0.064 0.064-0.128v-0.768c0.064-0.128 0.064-0.256 0.064-0.384V560c0-0.128 0.064-0.256 0.064-0.384s0.064-0.32 0.064-0.448v-0.064c0-0.128 0-0.256 0.064-0.384v-0.064c0-0.32 0.064-0.64 0.064-0.96 1.024-9.792 1.664-19.648 1.984-29.568h0.064v-0.96c0-0.512 0.064-0.96 0.064-1.472v-0.96-0.448-0.064c0.064-0.32 0.064-0.64 0.064-0.96v-0.064-0.96-0.064-0.384-0.064c0.064-0.32 0.064-0.64 0.064-0.96v-0.064-0.384-0.064-0.448-0.064-0.384-0.128-0.896-0.064-0.384-0.064c0.064-0.512 0.064-0.64 0.064-0.768v-0.064-0.384-0.064-0.384-0.064-0.448-0.128-0.32-0.128-0.448-0.064-0.384-0.128-0.32-0.128-0.448-0.128-0.32-0.128V512v-0.448-0.128-0.32-0.128-0.448-0.128-0.32-0.128-0.448-0.384-0.128-0.384-0.064-0.448-0.128-0.32-0.128-0.448-0.064c0-0.128-0.064-0.256-0.064-0.448v-0.064-0.448-0.448-0.128-0.384-0.064-0.448-0.064-0.384-0.064-0.96s0-0.064-0.064-0.064v-0.448-0.448-0.064V501.248v-0.512-0.448-0.064c-0.064-0.32-0.064-0.64-0.064-0.96v-0.064-0.448-0.064-0.448c0-0.128 0-0.32-0.064-0.448v-0.064-0.96-0.064c0-0.32 0-0.64-0.064-0.96v-0.064-0.448c0-0.32 0-0.64-0.064-1.024v-1.024c0-0.192 0-0.32-0.064-0.512v-1.024A492.713 492.713 0 0 0 957.44 464c-0.064-0.512-0.064-0.96-0.128-1.472-0.064-0.32-0.064-0.64-0.128-0.96v-0.064c-0.064-0.32-0.064-0.64-0.128-0.96v-0.064c0-0.128-0.064-0.256-0.064-0.384v-0.128c0-0.128 0-0.32-0.064-0.448v-0.064c0-0.128 0-0.256-0.064-0.384v-0.128c0-0.128 0-0.256-0.064-0.384v-0.448c-0.064-0.064-0.064-0.064-0.064-0.128v-0.32s-0.064-0.064-0.064-0.128v-0.448c-0.064 0-0.064-0.064-0.064-0.128v-0.256c0-0.064-0.064-0.128-0.064-0.192v-0.32c0-0.064-0.064-0.128-0.064-0.256v-0.256c0-0.064-0.064-0.128-0.064-0.192v-0.192c0-0.064 0-0.128-0.064-0.192v-0.32c0-0.064-0.064-0.384-0.064-0.448v-0.128c0-0.064-0.064-0.192-0.064-0.256v-0.064c0-0.192-0.064-0.384-0.064-0.576v-0.064c0-0.064-0.064-0.192-0.064-0.32v-0.064c-0.064-0.32-0.064-0.64-0.128-1.024-0.192-1.408-0.384-2.88-0.64-4.288-2.24-15.936-15.936-27.456-31.552-27.456zM825.92 207.04c-7.424 0-14.912 2.624-20.992 7.872-13.312 11.584-14.656 31.808-3.136 45.12a384.262 384.262 0 0 1 59.392 91.904 32.023 32.023 0 0 0 29.056 18.688c4.48 0 9.024-0.96 13.376-2.944 16-7.36 23.04-26.304 15.744-42.368-2.56-5.632-5.248-11.136-8.064-16.64-0.192-0.256-0.32-0.576-0.448-0.832 0 0-0.064 0-0.064-0.064-0.064-0.064-0.064-0.192-0.128-0.256-0.128-0.192-0.192-0.384-0.32-0.576v-0.064c-0.064-0.064-0.128-0.128-0.128-0.256-0.064 0-0.064-0.064-0.064-0.064-0.064-0.192-0.192-0.32-0.256-0.512 0 0 0-0.064-0.064-0.064 0-0.064-0.064-0.128-0.128-0.256 0 0 0-0.064-0.064-0.064-0.064-0.128-0.128-0.32-0.192-0.448v-0.192c-0.064-0.064-0.128-0.128-0.128-0.192-0.064-0.064-0.064-0.064-0.064-0.128-0.064-0.128-0.192-0.256-0.256-0.384 0-0.064 0-0.064-0.064-0.128 0-0.064-0.064-0.128-0.128-0.256 0 0 0-0.064-0.064-0.128l-0.192-0.384c0-0.064-0.064-0.128-0.064-0.128-0.064-0.064-0.128-0.128-0.128-0.192-0.064-0.064-0.064-0.128-0.128-0.192 0-0.064-0.064-0.128-0.128-0.192a0.485 0.485 0 0 0-0.128-0.256c0-0.064-0.064-0.128-0.128-0.192 0-0.064-0.064-0.128-0.064-0.192-0.064-0.064-0.064-0.128-0.128-0.192-0.064-0.128-0.128-0.192-0.192-0.32l-0.064-0.128c-0.064-0.064-0.064-0.128-0.128-0.192 0-0.064-0.064-0.128-0.064-0.128-0.064-0.128-0.128-0.256-0.192-0.32s-0.064-0.128-0.128-0.192c0-0.064-0.064-0.128-0.128-0.192 0 0-0.064-0.064-0.064-0.128-0.064-0.128-0.128-0.192-0.192-0.32 0 0-0.064-0.064-0.064-0.128a0.485 0.485 0 0 1-0.128-0.256c-0.064 0-0.064-0.064-0.128-0.128-0.064-0.128-0.128-0.256-0.192-0.32 0-0.064 0-0.064-0.064-0.128a0.485 0.485 0 0 0-0.128-0.256c-0.064-0.064-0.064-0.064-0.064-0.128l-0.192-0.384c-0.064 0-0.064-0.064-0.064-0.064-0.064-0.064-0.128-0.192-0.192-0.32 0 0-0.064-0.064-0.064-0.128-0.064-0.064-0.128-0.192-0.192-0.32l-0.064-0.064c-0.064-0.064-0.128-0.192-0.192-0.32 0 0 0-0.064-0.064-0.128l-0.192-0.384-0.192-0.384c-0.064-0.064-0.064-0.064-0.064-0.128-0.064-0.128-0.192-0.256-0.256-0.384l-0.192-0.384-0.064-0.064c-0.128-0.256-0.32-0.512-0.448-0.768l-0.064-0.064c-0.128-0.256-0.32-0.576-0.448-0.832 0 0 0-0.064-0.064-0.064-0.128-0.256-0.32-0.576-0.448-0.832-0.192-0.256-0.32-0.576-0.512-0.832s-0.32-0.576-0.512-0.896c-0.192-0.256-0.32-0.576-0.512-0.896-12.416-21.696-26.688-42.304-42.432-61.504h-0.064a6.779 6.779 0 0 0-0.64-0.768c-0.192-0.256-0.384-0.448-0.64-0.704-0.128-0.128-0.192-0.256-0.32-0.384-0.064-0.128-0.192-0.256-0.32-0.384l-0.32-0.32-0.32-0.32-0.064-0.064c-0.064-0.064-0.128-0.192-0.256-0.256 0 0 0-0.064-0.064-0.064a1.396 1.396 0 0 1-0.256-0.32l-0.064-0.064c0.192-0.832 0.064-0.896 0-1.024 0 0-0.064-0.064-0.064-0.128l-0.256-0.256c-0.064 0-0.064-0.064-0.128-0.128l-0.192-0.192c0-0.064-0.064-0.064-0.064-0.128-0.128-0.064-0.192-0.192-0.256-0.32a0.138 0.138 0 0 1-0.128-0.128l-0.192-0.192-0.128-0.128c-0.064-0.064-0.128-0.128-0.192-0.256l-0.192-0.192-0.128-0.128c-0.064-0.064-0.128-0.128-0.128-0.192a0.138 0.138 0 0 1-0.128-0.128c-0.128-0.064-0.192-0.192-0.32-0.32 0-0.064-0.064-0.064-0.064-0.128l-0.192-0.192-0.064-0.064-0.384-0.384-0.064-0.064-0.192-0.192v-0.064c-0.128-0.128-0.256-0.256-0.384-0.448h-0.064c-0.064-0.064-0.128-0.128-0.192-0.256h-0.064c-0.256-0.32-0.576-0.704-0.896-1.024-6.144-7.424-15.04-11.136-24-11.136zM628.48 80.512c-13.824 0-26.624 9.088-30.656 23.04-4.928 16.96 4.8 34.688 21.824 39.68 35.072 10.24 68.48 25.472 99.456 45.312a32.093 32.093 0 0 0 17.28 5.056c10.496 0 20.8-5.248 26.944-14.72 9.472-14.848 5.248-34.624-9.536-44.16-1.28-0.768-2.432-1.536-3.648-2.304-0.32-0.192-0.576-0.32-0.896-0.512a5.843 5.843 0 0 1-0.832-0.512h-0.064c-0.256-0.128-0.512-0.32-0.832-0.512h-0.064c-0.064-0.064-0.192-0.064-0.256-0.128-0.192-0.064-0.32-0.192-0.512-0.256-0.064 0-0.064-0.064-0.128-0.064-0.064-0.064-0.128-0.064-0.192-0.128-0.064 0-0.128 0-0.128-0.064l-0.384-0.192c-0.064 0-0.128-0.064-0.192-0.064-0.064-0.064-0.128-0.064-0.192-0.128s-0.128-0.064-0.128-0.064l-0.384-0.192c-0.064 0-0.064-0.064-0.128-0.064s-0.128-0.064-0.192-0.128-0.192-0.064-0.256-0.128c0 0-0.064-0.064-0.128-0.064-0.128-0.064-0.256-0.128-0.32-0.192-0.064 0-0.128-0.064-0.192-0.064s-0.128-0.064-0.192-0.128-0.128-0.064-0.192-0.064c-0.128-0.064-0.192-0.128-0.32-0.192-0.064 0-0.128 0-0.128-0.064-0.064-0.512-0.128-0.512-0.192-0.576-0.064 0-0.128-0.064-0.128-0.064l-0.384-0.192s-0.064-0.064-0.128-0.064-0.192-0.064-0.256-0.128c-0.064 0-0.064 0-0.128-0.064l-0.384-0.192h-0.064c-0.128-0.064-0.192-0.128-0.32-0.192 0 0-0.064-0.064-0.128-0.064-0.128-0.064-0.256-0.128-0.32-0.192-0.064 0-0.064 0-0.128-0.064a0.489 0.489 0 0 0-0.32-0.128l-0.064-0.064c-0.256-0.128-0.512-0.256-0.832-0.448 0 0-0.064 0-0.064-0.064-0.256-0.128-0.512-0.256-0.768-0.448-0.064 0-0.064 0-0.128-0.064l-0.384-0.192c-0.128-0.064-0.256-0.128-0.384-0.256h-0.064l-0.384-0.192h-0.064c-0.128-0.064-0.256-0.128-0.384-0.256h-0.064l-0.384-0.192c-0.192-0.064-0.32-0.128-0.448-0.256l-1.344-0.768c-0.256-0.128-0.576-0.32-0.832-0.448h-0.064a443.852 443.852 0 0 0-96.128-40.768c-2.752-1.216-5.76-1.664-8.768-1.664z m148.544 431.552c0 22.656-19.008 41.152-42.752 41.152h-181.12V734.4c0 23.488-18.368 42.624-41.152 42.624-22.72 0.064-41.152-19.072-41.152-42.56V553.152h-181.12c-23.488 0.064-42.752-18.496-42.752-41.088 0.128-22.656 19.264-41.152 42.88-41.088h180.992V289.792c0-23.68 18.496-42.688 41.152-42.752 22.72-0.064 41.152 19.136 41.152 42.688v181.248h181.12c23.616-0.192 42.752 18.368 42.752 41.088z" p-id="1415"></path></svg>Shortcut</li></ul>
				<ul class="ztm-history"></ul>
			</div>
		"#);
		let dom_code = format!(r#"
			const addShortcut = () => {{
				const faviconLink = document.querySelector('link[rel~="icon"]');
				window.__TAURI__.core.invoke('push_store_list', {{
					key: 'shortcut',
					value: {{
						icon: faviconLink ? faviconLink.href : `${{window.location.origin}}/favicon.ico`,
						href: location.href,
						title: document.title
					}}
				}}).then(() => {{
					const historyMenu = document.querySelector('.ztm-pop');
					historyMenu.style.display="none";
				}});
			}}
			const toggleStarIcon = () => {{
				const _store_history = window.store_history || [];
				const _href = location.href;
				const starEmptyElement = document.querySelector('.ztm-container .go-star-empty');
				const starFullElement = document.querySelector('.ztm-container .go-star-full');
				if(_store_history.findIndex((n) => n.href == _href )>=0){{
					starEmptyElement.style.display = "none";
					starFullElement.style.display = "block";
				}} else {{
					starEmptyElement.style.display = "block";
					starFullElement.style.display = "none";
				}}
			}}
			const renderHistory = () => {{
				const _store_history = window.store_history || [];
				const _ary = [];
				_store_history.forEach((n)=>{{
					const name = n.href.replace(/.*\/\//,'').split('/')[0].replaceAll('.','_').replaceAll('-','_');
					if(!!n.icon){{
						_ary.push(`
						<li data-href="${{n.href}}" title="${{n.title}}" >
							<img data-href="${{n.href}}" class="ztm-link-img" src="${{n.icon}}" width="20" height="20" />
							<span data-href="${{n.href}}" class="multiline-ellipsis">${{n.title}}</span>
						</li>
						`)
					}}else{{
						_ary.push(`
						<li data-href="${{n.href}}" title="${{n.title}}" >
							<svg data-href="${{n.href}}" t="1732524995707" class="ztm-icon ztm-link-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1740" width="20" height="20"><path d="M510.293333 785.066667H256c-51.694933 0-96.529067-18.619733-133.239467-55.3472C86.596267 693.5552 68.266667 649.0112 68.266667 597.333333c0-51.6096 18.295467-96.4096 54.391466-133.137066 36.317867-35.6864 80.469333-53.981867 131.4304-54.596267 9.762133 0.4608 17.152 7.441067 17.271467 16.861867A17.066667 17.066667 0 0 1 254.498133 443.733333c-42.461867 0.512-77.687467 15.104-107.7248 44.5952C116.992 518.656 102.4 554.376533 102.4 597.333333c0 42.9056 14.557867 78.301867 44.4928 108.253867C177.408 736.1024 213.0944 750.933333 256 750.933333h254.293333c42.871467 0 78.2336-14.7968 108.1344-45.243733C649.096533 675.549867 663.893333 640.170667 663.893333 597.333333c0-42.9056-14.830933-78.574933-45.346133-109.1072C588.578133 458.2912 553.181867 443.733333 510.293333 443.733333h-82.773333a17.066667 17.066667 0 0 1 0-34.133333h82.773333c51.6608 0 96.2048 18.3296 132.386134 54.4768C679.424 500.821333 698.026667 545.655467 698.026667 597.333333c0 51.729067-18.653867 96.324267-55.4496 132.488534C606.651733 766.395733 562.0736 785.066667 510.293333 785.066667zM768 614.4a17.066667 17.066667 0 1 1 0-34.133333c42.871467 0 78.2336-14.7968 108.1344-45.243734C906.8032 504.8832 921.6 469.521067 921.6 426.666667c0-42.9056-14.830933-78.592-45.346133-109.1072C846.318933 287.624533 810.922667 273.066667 768 273.066667H513.706667c-42.9568 0-78.677333 14.592-109.2096 44.5952C374.698667 347.989333 360.106667 383.6928 360.106667 426.666667c0 42.9056 14.557867 78.318933 44.4928 108.253866C435.0976 565.435733 470.784 580.266667 513.706667 580.266667h82.7904a17.066667 17.066667 0 1 1 0 34.133333H513.706667c-51.712 0-96.529067-18.619733-133.256534-55.3472C344.302933 522.9056 325.973333 478.3616 325.973333 426.666667c0-51.626667 18.295467-96.426667 54.391467-133.137067C417.28 257.2288 462.08 238.933333 513.706667 238.933333H768c51.694933 0 96.238933 18.3296 132.386133 54.493867C937.1136 330.1376 955.733333 374.971733 955.733333 426.666667c0 51.7632-18.653867 96.341333-55.4496 132.488533C864.3584 595.729067 819.7632 614.4 768 614.4z" p-id="1741"></path></svg>
							<span data-href="${{n.href}}" class="multiline-ellipsis">${{n.title}}</span
						</li>
						`)
					}}
				}})
				const historyMenu = document.querySelector('.ztm-history');
				historyMenu.innerHTML = _ary.join("");
			}}
			const loadHistory = () => {{
				window.__TAURI__.core.invoke('get_store_list', {{
					key: 'history'
				}}).then((res)=>{{
					window.store_history = res;
					toggleStarIcon();
					renderHistory();
				}});
			}}
			const removeHistory = (href) => {{
				const _store_history = window.store_history || [];
				const idx = _store_history.findIndex((n) => n.href == href);
				if(idx>=0){{
					_store_history.splice(idx,1);
				}}
			
				window.__TAURI__.core.invoke('set_store_list', {{
					key: 'history',
					value: _store_history
				}}).then((res)=>{{
					window.store_history = _store_history;
					toggleStarIcon();
					renderHistory();
				}});
				
			}}
			const loadDom = () => {{
				if(!document?.body || !!document.querySelector('.ztm-browser-bar')) {{
					return;
				}}
				const style = document.createElement('style');
				style.textContent = `{}`;
				document.head.appendChild(style);
				const showIcon = document.createElement('div');
				showIcon.className = 'ztm-show';
				showIcon.innerHTML = `<svg style="margin-top:4px" t="1732161342634" class="ztm-icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1466" width="22" height="22"><path d="M512 298.666667c-162.133333 0-285.866667 68.266667-375.466667 213.333333 89.6 145.066667 213.333333 213.333333 375.466667 213.333333s285.866667-68.266667 375.466667-213.333333c-89.6-145.066667-213.333333-213.333333-375.466667-213.333333z m0 469.333333c-183.466667 0-328.533333-85.333333-426.666667-256 98.133333-170.666667 243.2-256 426.666667-256s328.533333 85.333333 426.666667 256c-98.133333 170.666667-243.2 256-426.666667 256z m0-170.666667c46.933333 0 85.333333-38.4 85.333333-85.333333s-38.4-85.333333-85.333333-85.333333-85.333333 38.4-85.333333 85.333333 38.4 85.333333 85.333333 85.333333z m0 42.666667c-72.533333 0-128-55.466667-128-128s55.466667-128 128-128 128 55.466667 128 128-55.466667 128-128 128z" p-id="1467"></path></svg>`;
				const newDiv = document.createElement('div');
				newDiv.className = 'ztm-browser-bar';
				newDiv.innerHTML = `{}`;
				document.body.prepend(newDiv);
				document.body.prepend(showIcon);
				setTimeout(()=>{{
					const inputElement = document.querySelector('.ztm-container input');
					if(inputElement){{
						inputElement.addEventListener('keydown', function (event) {{
							if (event.key === 'Enter') {{
								const href = inputElement.value||'';
								const url = href.indexOf('http')==0?href:`http://${{href}}`
								const name = url.replace(/.*\/\//,'').split('/')[0].replaceAll('.','_').replaceAll('-','_');
								ztmNav(url)
							}}
						}});
					}}
					const backElement = document.querySelector('.ztm-container .go-back');
					if(backElement){{
						backElement.addEventListener('click', function (event) {{
							history.go(-1);
						}});
					}}
					const nextElement = document.querySelector('.ztm-container .go-next');
					if(nextElement){{
						nextElement.addEventListener('click', function (event) {{
							history.go(1)
						}});
					}}
					const reloadElement = document.querySelector('.ztm-container .go-reload');
					if(reloadElement){{
						reloadElement.addEventListener('click', function (event) {{
							ztmNav(location.href)
						}});
					}}
					
					
					const starEmptyElement = document.querySelector('.ztm-container .go-star-empty');
					if(starEmptyElement){{
						starEmptyElement.addEventListener('click', function (event) {{
							
							const faviconLink = document.querySelector('link[rel~="icon"]');
							window.__TAURI__.core.invoke('push_store_list', {{
								key: 'history',
								value: {{
									icon: faviconLink ? faviconLink.href : `${{window.location.origin}}/favicon.ico`,
									href: location.href,
									title: document.title
								}}
							}}).then(() => {{
								loadHistory();
							}});
						}});
					}}
					const starFullElement = document.querySelector('.ztm-container .go-star-full');
					if(starFullElement){{
						starFullElement.addEventListener('click', function (event) {{
							removeHistory(location.href);
						}});
					}}
					const hideElement = document.querySelector('.ztm-container .go-hide');
					if(hideElement){{
						hideElement.addEventListener('click', function (event) {{
							newDiv.style.display="none";
							showIcon.style.display="block";
						}});
					}}
					const showElement = document.querySelector('.ztm-show');
					if(showElement){{
						showElement.addEventListener('click', function (event) {{
							newDiv.style.display="block";
							showIcon.style.display="none";
						}});
					}}
					const moreElement = document.querySelector('.ztm-container .go-more');
					if(moreElement){{
						moreElement.addEventListener('click', function (event) {{
							const historyMenu = document.querySelector('.ztm-pop');
							historyMenu.style.display=historyMenu.style.display=="none"?"block":"none";
						}});
					}}
					const historyElement = document.querySelector('.ztm-pop');
					if(historyElement){{
						historyElement.addEventListener('click', function (event) {{
							const href = event.target.dataset?.href;
							if(!!href){{
								const name = href.replace(/.*\/\//,'').split('/')[0].replaceAll('.','_').replaceAll('-','_');
								ztmNav(href, `${{name}}_new`, `${{name}}_webview_new`);
							}}
						}});
					}}
					const addShortcutElement = document.querySelector('.add-shortcut');
					if(addShortcutElement){{
						addShortcutElement.addEventListener('click', function (event) {{
							addShortcut()
						}});
					}}
				}},600);
				loadHistory();
			}}
		"#,&css_code, &html_code);
		let js_code = format!(r#"
			const proxy = "{}";
			console.log(proxy);
			const ztmNav = (curl, name, label) => {{
				const pluginOption = {{
						name: name || "{}",
						label: label || "{}",
						curl,
						proxy,
						eval: true,
				 }}
				 window.__TAURI__.core.invoke('create_proxy_webview', pluginOption);
			}}
			
			(function() {{
				
				window.location.assign = function(url) {{
					ztmNav(url)
				}};
			
				window.location.replace = function(url) {{
					ztmNav(url)
				}};
				
			}})();
			const doLinkClick = (target) => {{
				if(target?.href && !window?.jumping){{
					window.jumping = true;
					setTimeout(()=>{{
						window.jumping = false;
					}},600)
					const name = target.href.replace(/.*\/\//,'').split('/')[0].replaceAll('.','_').replaceAll('-','_');
					if(target.target == '_blank' || target.getAttribute('tauri-target') == '_blank'){{
						ztmNav(target.href, name, name + `_webview`)
					}} else {{
						ztmNav(target.href)
					}}
				}}
			}}
			const loadFilter = () => {{
				if(!!document.querySelector('.ztm-browser-bar')) {{
					return;
				}}
				setTimeout(()=>{{
					document.querySelectorAll('a[target="_blank"]').forEach(link => {{
						link.removeAttribute('target');
						link.setAttribute('tauri-target','_blank');
					}});
				}},1000)
				document.addEventListener('click', function(event) {{
						const target = event.target;
						if (target?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target)
						}} else if (target?.parentNode?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target.parentNode)
						}} else if (target?.parentNode?.parentNode?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target.parentNode.parentNode)
						}} else if (target?.parentNode?.parentNode?.parentNode?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target.parentNode.parentNode.parentNode)
						}} else if (target?.parentNode?.parentNode?.parentNode?.parentNode?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target.parentNode.parentNode.parentNode.parentNode)
						}} else if (target?.parentNode?.parentNode?.parentNode?.parentNode?.parentNode?.tagName === 'A') {{
							event.preventDefault();
							doLinkClick(target.parentNode.parentNode.parentNode.parentNode.parentNode)
						}}
				}});
			}}
		"#,&proxy, &name,&label);
			
		let init_code = format!(r#"
		{}
		{}
		const timmer = () => {{
			if(!!document && !!document?.body && !document.querySelector('.ztm-browser-bar')) {{
				loadFilter();
				loadDom();
			}} else {{
				setTimeout(()=>{{
					timmer();
				}},2000)
			}}
		}}
		timmer();
		window.addEventListener('DOMContentLoaded', function() {{
			if(!!document && !!document?.body && !document.querySelector('.ztm-browser-bar')) {{
				loadFilter();
				loadDom();
			}}
		}})
		window.addEventListener('load', function() {{
			if(!!document && !!document?.body && !document.querySelector('.ztm-browser-bar')) {{
				loadFilter();
				loadDom();
			}}
		}})
		"#,&dom_code, &js_code);
			
		// let builder = tauri::WebviewBuilder::from_config(&options)
		// 	std::thread::sleep(std::time::Duration::from_secs(1));
		if let Some(mut old_webview) = app.get_webview(&label) {
			old_webview.navigate(Url::parse(&curl).expect("Invalid URL"));
		} else {
			#[cfg(not(any(target_os = "ios", target_os = "android")))] {
				let mut webview_builder = tauri::WebviewBuilder::new(&label, WebviewUrl::App(curl.parse().unwrap()))
					.on_navigation(|url| {
						// allow the production URL or localhost on dev
						url.scheme() == "http" || url.scheme() == "https" || url.scheme() == "tauri" || (cfg!(dev) && url.host_str() == Some("localhost"))
					})
					.on_page_load({
						let eval = eval;
						let init_code = init_code.to_string(); 
						move |webview, payload| {
								match payload.event() {
										PageLoadEvent::Started => {
										}
										PageLoadEvent::Finished => {
												if eval {
														webview.eval(&init_code).unwrap();
												}
										}
								}
						}
					});
					
				if !proxy.is_empty() {
					webview_builder = webview_builder.proxy_url(Url::parse(&proxy).expect("Invalid URL"));
				}
			
				if let Some(mut old_window) = app.get_window(&name) {
						let webview = old_window.add_child(
							webview_builder,
							tauri::LogicalPosition::new(0, 0),
							old_window.inner_size().unwrap(),
						).unwrap();
				} else {
					let window = tauri::window::WindowBuilder::new(&app, &name)
							.inner_size(width.unwrap_or(1280.), height.unwrap_or(860.))
							.title(name)
							.build()
							.expect("Failed to create a new window");
					// window.drag_and_drop(false);
					let webview = window.add_child(
						webview_builder,
						tauri::LogicalPosition::new(0, 0),
						window.inner_size().unwrap(),
					).unwrap();
					
				}
			}
			
			#[cfg(any(target_os = "ios", target_os = "android"))] {
				if proxy.is_empty() {
					if let Some(mut main_webview) = app.get_webview("main") {
						main_webview.navigate(Url::parse(&curl).expect("Invalid URL"));
						std::thread::sleep(std::time::Duration::from_secs(1));
						main_webview.eval(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						main_webview.eval(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						main_webview.eval(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						main_webview.eval(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						main_webview.eval(&init_code).unwrap();
					}
				} else {
					//TODO window__ TAURI__ not support
					if let Some(mut main_window) = app.get_window("main") {
						let mut builder = wry::WebViewBuilder::new().with_url(curl);
						
						// set proxy
						let parts: Vec<&str> = proxy.split(':').collect();
						// Access the parts safely
						let proxy_host = parts.get(0).unwrap_or(&"");
						let proxy_port = parts.get(1).unwrap_or(&"");
						let proxy_config = wry::ProxyConfig::Socks5(wry::ProxyEndpoint {
							host: proxy_host.to_string(),
							port: proxy_port.to_string()
						});
						
						builder = builder.with_proxy_config(proxy_config);
						// set proxy end
						
						let webview = builder.build_as_child(&main_window).unwrap();
							
						std::thread::sleep(std::time::Duration::from_secs(1));
						webview.evaluate_script(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						webview.evaluate_script(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						webview.evaluate_script(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						webview.evaluate_script(&init_code).unwrap();
						std::thread::sleep(std::time::Duration::from_secs(3));
						webview.evaluate_script(&init_code).unwrap();
					}
				}
			}
		}
	}
	Ok(())
}